<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: CloudTransformTool类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_cloud_transform_tool.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="#pri-static-attribs">静态 Private 属性</a> &#124;
<a href="class_cloud_transform_tool-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">CloudTransformTool类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>The cloud transform tool computes the transform matrix from user's mouse operation. It then updates the cloud with the new transform matrices to make the cloud be rendered appropriately.  
 <a href="class_cloud_transform_tool.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="cloud_transform_tool_8h_source.html">cloudTransformTool.h</a>&gt;</code></p>
<div class="dynheader">
类 CloudTransformTool 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_cloud_transform_tool.png" usemap="#CloudTransformTool_map" alt=""/>
  <map id="CloudTransformTool_map" name="CloudTransformTool_map">
<area href="class_tool_interface.html" title="the parent class of all the select and the transform tool classes" alt="ToolInterface" shape="rect" coords="0,0,126,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a113a50d46e26c591da50392180d00a6a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a113a50d46e26c591da50392180d00a6a">CloudTransformTool</a> (<a class="el" href="local_types_8h.html#ab270fe8bf56ceef23c1c5fbe384c9430">CloudPtr</a> cloud_ptr)</td></tr>
<tr class="memdesc:a113a50d46e26c591da50392180d00a6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor  <a href="class_cloud_transform_tool.html#a113a50d46e26c591da50392180d00a6a">更多...</a><br /></td></tr>
<tr class="separator:a113a50d46e26c591da50392180d00a6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab176bbe28b2a87d6be19ad2816049a0d"><td class="memItemLeft" align="right" valign="top"><a id="ab176bbe28b2a87d6be19ad2816049a0d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#ab176bbe28b2a87d6be19ad2816049a0d">~CloudTransformTool</a> ()</td></tr>
<tr class="memdesc:ab176bbe28b2a87d6be19ad2816049a0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor <br /></td></tr>
<tr class="separator:ab176bbe28b2a87d6be19ad2816049a0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a081e5d9518e52f0d1babe16f50e7f727"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a081e5d9518e52f0d1babe16f50e7f727">start</a> (int x, int y, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> modifiers, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> buttons)</td></tr>
<tr class="memdesc:a081e5d9518e52f0d1babe16f50e7f727"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the current transform with mouse screen coordinates and key modifiers.  <a href="class_cloud_transform_tool.html#a081e5d9518e52f0d1babe16f50e7f727">更多...</a><br /></td></tr>
<tr class="separator:a081e5d9518e52f0d1babe16f50e7f727"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7db6d4bb46cdd38292268dd8ee04dfe9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a7db6d4bb46cdd38292268dd8ee04dfe9">update</a> (int x, int y, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> modifiers, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a> buttons)</td></tr>
<tr class="memdesc:a7db6d4bb46cdd38292268dd8ee04dfe9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the transform matrix of this object with mouse screen coordinates and key modifiers.  <a href="class_cloud_transform_tool.html#a7db6d4bb46cdd38292268dd8ee04dfe9">更多...</a><br /></td></tr>
<tr class="separator:a7db6d4bb46cdd38292268dd8ee04dfe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90e6bf1cd565d359443ff5da4bd0f447"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a90e6bf1cd565d359443ff5da4bd0f447">end</a> (int, int, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>, <a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>)</td></tr>
<tr class="memdesc:a90e6bf1cd565d359443ff5da4bd0f447"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the transform matrix of this object with mouse screen coordinates and key modifiers. Then right multiplies the cloud_matrix_ matrix of the cloud object with the transform matrix of this object.  <a href="class_cloud_transform_tool.html#a90e6bf1cd565d359443ff5da4bd0f447">更多...</a><br /></td></tr>
<tr class="separator:a90e6bf1cd565d359443ff5da4bd0f447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9faa96520869209311f25aeb58af8004"><td class="memItemLeft" align="right" valign="top"><a id="a9faa96520869209311f25aeb58af8004"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a9faa96520869209311f25aeb58af8004">draw</a> () const</td></tr>
<tr class="memdesc:a9faa96520869209311f25aeb58af8004"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function does nothing for this cloud transform tool. <br /></td></tr>
<tr class="separator:a9faa96520869209311f25aeb58af8004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_tool_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_tool_interface')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="class_tool_interface.html">ToolInterface</a></td></tr>
<tr class="memitem:a6cbd00e85c2e49d19bf30ca06a0cf1ab inherit pub_methods_class_tool_interface"><td class="memItemLeft" align="right" valign="top"><a id="a6cbd00e85c2e49d19bf30ca06a0cf1ab"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#a6cbd00e85c2e49d19bf30ca06a0cf1ab">~ToolInterface</a> ()</td></tr>
<tr class="memdesc:a6cbd00e85c2e49d19bf30ca06a0cf1ab inherit pub_methods_class_tool_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a6cbd00e85c2e49d19bf30ca06a0cf1ab inherit pub_methods_class_tool_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:aa7c897472edfef87f675986d647e89c3"><td class="memItemLeft" align="right" valign="top"><a id="aa7c897472edfef87f675986d647e89c3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#aa7c897472edfef87f675986d647e89c3">getTranslateMatrix</a> (int dx, int dy, float *matrix)</td></tr>
<tr class="memdesc:aa7c897472edfef87f675986d647e89c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">generate translate matrix for the xy plane <br /></td></tr>
<tr class="separator:aa7c897472edfef87f675986d647e89c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a913d9f7731d94740a0d716e3e784efcb"><td class="memItemLeft" align="right" valign="top"><a id="a913d9f7731d94740a0d716e3e784efcb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a913d9f7731d94740a0d716e3e784efcb">getZTranslateMatrix</a> (int dy, float *matrix)</td></tr>
<tr class="memdesc:a913d9f7731d94740a0d716e3e784efcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">generate translate matrix for the z direction <br /></td></tr>
<tr class="separator:a913d9f7731d94740a0d716e3e784efcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabcfb83c9d461897cc24709b316def8c"><td class="memItemLeft" align="right" valign="top"><a id="aabcfb83c9d461897cc24709b316def8c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#aabcfb83c9d461897cc24709b316def8c">getScaleMatrix</a> (int dy, float *matrix)</td></tr>
<tr class="memdesc:aabcfb83c9d461897cc24709b316def8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">generate scale matrix <br /></td></tr>
<tr class="separator:aabcfb83c9d461897cc24709b316def8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:a267d6a04bf24e078fd147df838d01735"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a267d6a04bf24e078fd147df838d01735">transform_matrix_</a> [<a class="el" href="local_types_8h.html#a28c0b3f93eed6b2e58d2192b7ef2d8f4">MATRIX_SIZE</a>]</td></tr>
<tr class="separator:a267d6a04bf24e078fd147df838d01735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6df7b7e4ef1c4cce91ba3dff6fea877"><td class="memItemLeft" align="right" valign="top"><a id="ae6df7b7e4ef1c4cce91ba3dff6fea877"></a>
<a class="el" href="local_types_8h.html#ab270fe8bf56ceef23c1c5fbe384c9430">CloudPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#ae6df7b7e4ef1c4cce91ba3dff6fea877">cloud_ptr_</a></td></tr>
<tr class="memdesc:ae6df7b7e4ef1c4cce91ba3dff6fea877"><td class="mdescLeft">&#160;</td><td class="mdescRight">a shared pointer pointing to the cloud object. <br /></td></tr>
<tr class="separator:ae6df7b7e4ef1c4cce91ba3dff6fea877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a198bd3ab087ac42ba83a3a41bf41f1fa"><td class="memItemLeft" align="right" valign="top"><a id="a198bd3ab087ac42ba83a3a41bf41f1fa"></a>
<a class="el" href="class_track_ball.html">TrackBall</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a198bd3ab087ac42ba83a3a41bf41f1fa">trackball_</a></td></tr>
<tr class="memdesc:a198bd3ab087ac42ba83a3a41bf41f1fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">the trackball associated with this transform <br /></td></tr>
<tr class="separator:a198bd3ab087ac42ba83a3a41bf41f1fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc4d9d68bd1bdb427d44e43526635b1a"><td class="memItemLeft" align="right" valign="top"><a id="acc4d9d68bd1bdb427d44e43526635b1a"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#acc4d9d68bd1bdb427d44e43526635b1a">x_</a></td></tr>
<tr class="memdesc:acc4d9d68bd1bdb427d44e43526635b1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">last recorded mouse positions <br /></td></tr>
<tr class="separator:acc4d9d68bd1bdb427d44e43526635b1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a197a70b93ac92be19b89c6f6a3aa4dee"><td class="memItemLeft" align="right" valign="top"><a id="a197a70b93ac92be19b89c6f6a3aa4dee"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>y_</b></td></tr>
<tr class="separator:a197a70b93ac92be19b89c6f6a3aa4dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06a969670dad4a605dc7a150be8b3718"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a06a969670dad4a605dc7a150be8b3718">scale_factor_</a></td></tr>
<tr class="separator:a06a969670dad4a605dc7a150be8b3718"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef38807e98788264e81b92518445f4ce"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#aef38807e98788264e81b92518445f4ce">translate_factor_</a></td></tr>
<tr class="separator:aef38807e98788264e81b92518445f4ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
静态 Private 属性</h2></td></tr>
<tr class="memitem:a4080878fad6f333251de21b1d7b9ccc2"><td class="memItemLeft" align="right" valign="top"><a id="a4080878fad6f333251de21b1d7b9ccc2"></a>
static const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#a4080878fad6f333251de21b1d7b9ccc2">DEFAULT_SCALE_FACTOR_</a></td></tr>
<tr class="memdesc:a4080878fad6f333251de21b1d7b9ccc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">default scaling factor <br /></td></tr>
<tr class="separator:a4080878fad6f333251de21b1d7b9ccc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2f40cf2c5e0566dc528a60278587a33"><td class="memItemLeft" align="right" valign="top"><a id="ad2f40cf2c5e0566dc528a60278587a33"></a>
static const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cloud_transform_tool.html#ad2f40cf2c5e0566dc528a60278587a33">DEFAULT_TRANSLATE_FACTOR_</a></td></tr>
<tr class="memdesc:ad2f40cf2c5e0566dc528a60278587a33"><td class="mdescLeft">&#160;</td><td class="mdescRight">default translation factor <br /></td></tr>
<tr class="separator:ad2f40cf2c5e0566dc528a60278587a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
额外继承的成员函数</h2></td></tr>
<tr class="inherit_header pro_methods_class_tool_interface"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_tool_interface')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="class_tool_interface.html">ToolInterface</a></td></tr>
<tr class="memitem:a998b140ab5373f0fe15571e485eaadd7 inherit pro_methods_class_tool_interface"><td class="memItemLeft" align="right" valign="top"><a id="a998b140ab5373f0fe15571e485eaadd7"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_tool_interface.html#a998b140ab5373f0fe15571e485eaadd7">ToolInterface</a> ()</td></tr>
<tr class="memdesc:a998b140ab5373f0fe15571e485eaadd7 inherit pro_methods_class_tool_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor <br /></td></tr>
<tr class="separator:a998b140ab5373f0fe15571e485eaadd7 inherit pro_methods_class_tool_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>The cloud transform tool computes the transform matrix from user's mouse operation. It then updates the cloud with the new transform matrices to make the cloud be rendered appropriately. </p>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="a113a50d46e26c591da50392180d00a6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a113a50d46e26c591da50392180d00a6a">&#9670;&nbsp;</a></span>CloudTransformTool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CloudTransformTool::CloudTransformTool </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#ab270fe8bf56ceef23c1c5fbe384c9430">CloudPtr</a>&#160;</td>
          <td class="paramname"><em>cloud_ptr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">cloud_ptr</td><td>a shared pointer pointing to the cloud object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a90e6bf1cd565d359443ff5da4bd0f447"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90e6bf1cd565d359443ff5da4bd0f447">&#9670;&nbsp;</a></span>end()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CloudTransformTool::end </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Updates the transform matrix of this object with mouse screen coordinates and key modifiers. Then right multiplies the cloud_matrix_ matrix of the cloud object with the transform matrix of this object. </p>
<p>This function is not required by this tool </p>

<p>实现了 <a class="el" href="class_tool_interface.html#a4fb40ef19c64340bf59b135fbe2df84a">ToolInterface</a>.</p>
<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    {</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a081e5d9518e52f0d1babe16f50e7f727"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a081e5d9518e52f0d1babe16f50e7f727">&#9670;&nbsp;</a></span>start()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CloudTransformTool::start </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>buttons</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialize the current transform with mouse screen coordinates and key modifiers. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>the x value of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">y</td><td>the y value of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">modifiers</td><td>The keyboard modifiers. This function does not make use of this parameter. </td></tr>
    <tr><td class="paramname">buttons</td><td>The state of the mouse buttons. This function does not make use of this parameter. </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="class_tool_interface.html#a5ede982d2daba0589ff7c1034feed76c">ToolInterface</a>.</p>

</div>
</div>
<a id="a7db6d4bb46cdd38292268dd8ee04dfe9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7db6d4bb46cdd38292268dd8ee04dfe9">&#9670;&nbsp;</a></span>update()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CloudTransformTool::update </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="local_types_8h.html#a3ecbdde19ccb48639e25359e09b9f2ff">BitMask</a>&#160;</td>
          <td class="paramname"><em>buttons</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Updates the transform matrix of this object with mouse screen coordinates and key modifiers. </p>
<p>When the LEFT mouse button is down the motion of the mouse is used to compute various transforms for the cloud display. Depending on the modifiers, the transformation matrix is computed correspondingly. When shift is pressed, the motion of mouse indicates a scale. If no key modifiers is pressed, the mouse move indicates a rotation. The control key pans the display, and the alt key translates along the z-axis. </p><dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>The x value of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">y</td><td>The y value of the mouse screen coordinates. </td></tr>
    <tr><td class="paramname">modifiers</td><td>the key modifier. SHIFT scales the point cloud display. CONTROL pans the point cloud parallel to the view plane. ALT moves the point cloud in/out along the z-axis (perpendicular to the view plane). If no modifier is pressed then the cloud display is rotated. </td></tr>
    <tr><td class="paramname">buttons</td><td>The LEFT mouse button must be pressed for any transform to be generated. All other buttons are ignored. </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="class_tool_interface.html#ab93188bd97a99ede4370d1917d66e35a">ToolInterface</a>.</p>

</div>
</div>
<h2 class="groupheader">类成员变量说明</h2>
<a id="a06a969670dad4a605dc7a150be8b3718"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06a969670dad4a605dc7a150be8b3718">&#9670;&nbsp;</a></span>scale_factor_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float CloudTransformTool::scale_factor_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>scaling factor used to control the speed which the display scales the point cloud </p>

</div>
</div>
<a id="a267d6a04bf24e078fd147df838d01735"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a267d6a04bf24e078fd147df838d01735">&#9670;&nbsp;</a></span>transform_matrix_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float CloudTransformTool::transform_matrix_[<a class="el" href="local_types_8h.html#a28c0b3f93eed6b2e58d2192b7ef2d8f4">MATRIX_SIZE</a>]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the transform matrix to be used for updating the coordinates of all the points in the cloud </p>

</div>
</div>
<a id="aef38807e98788264e81b92518445f4ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef38807e98788264e81b92518445f4ce">&#9670;&nbsp;</a></span>translate_factor_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float CloudTransformTool::translate_factor_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>scaling factor used to control the speed which the display translates the point cloud </p>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>apps/point_cloud_editor/include/pcl/apps/point_cloud_editor/<a class="el" href="cloud_transform_tool_8h_source.html">cloudTransformTool.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_cloud_transform_tool.html">CloudTransformTool</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
